SCSI 事件報告
節點可以將已發出之 SCSI 指令的事件告知主機。
SCSI 狀態
某些事件涉及 SCSI 架構,並且是由主機應用程式或裝置驅動程式處理,而不會報告事件。某些事件(例如,讀取和寫入 I/O 事件,以及與節點遺失或無法存取後端裝置相關聯的事件)會導致應用程式 I/O 失敗。為了協助對這些事件進行疑難排解,SCSI 指令會傳回 Check Condition 狀態,而且感應資訊會隨附 32 位元事件 ID。此 ID 相關於事件日誌中的特定事件。
如果主機應用程式或裝置驅動程式擷取並儲存此資訊,您可以讓應用程式失敗相關於事件日誌。
表 1 說明節點傳回的 SCSI 狀態和代碼。
| 狀態 | 代碼 | 說明 |
|---|---|---|
| 良好 | 00h | 指令成功。 |
| 檢查條件 | 02h | 指令失敗,有感應資料可用。 |
| 符合條件 | 04h | N/A |
| 忙碌 | 08h | 「自動緊急應變通報」狀況存在,指令指定 NACA=0。 |
| 中間 | 10h | N/A |
| 中間 - 符合條件 | 14h | N/A |
| 保留衝突 | 18h | 依 SPC2 和 SAM-2 的規定傳回,保留或持續保留狀況存在。 |
| 作業集已滿 | 28h | 起始器在這個埠上至少有一項作業排在該 LUN 的佇列中。 |
| ACA 作用中 | 30h | 依 SAM-2 的規定而報告此代碼。 |
| 作業中斷 | 40h | 如果在控制模式頁面 0Ch 中設定 TAS,則會傳回此代碼。節點的預設值為 TAS=0,無法變更;因此,節點不會報告此狀態。 |
SCSI 感應
節點會將 SCSI 指令的事件告知主機。表 2 定義節點傳回的 SCSI 感應鍵、代碼和限定元。
| 鍵 | 代碼 | 限定元 | 定義 | 說明 |
|---|---|---|---|---|
| 2h | 04h | 01h | 未備妥。邏輯單元正逐漸變成備妥狀態。 | 節點看不到系統,無法執行 I/O 作業。其他感應沒有相關資訊。 |
| 2h | 04h | 0Ch | 未備妥。目標埠處於無法使用的狀態。 | 可能有下列情況: |
| 3h | 00h | 00h | 媒體事件 | 只有讀取或寫入 I/O 才會傳回此事件。I/O 在其範圍內的特定 LBA 上發生事件。感應資料內報告事件的位置。其他感應還包含原因碼,讓事件相關於對應的事件日誌項目。例如,RAID 控制器事件或移轉的媒體事件。 |
| 4h | 08h | 00h | 硬體事件。指令對邏輯單元的通訊失敗。 | I/O 發生的事件與 RAID 控制器所傳回的 I/O 事件相關聯。其他感應包含的原因碼指向控制器所傳回的感應資料。只有 I/O 類型的指令才會傳回此事件。處於「已備妥」和「準備中」狀態的 FlashCopy® 目標磁區也會傳回此事件。 |
| 5h | 25h | 00h | 要求無效。不支援邏輯單元。 | 邏輯單元不存在或未對映至指令的傳送端。 |
原因碼
原因碼出現在感應資料的位元組 20-23。原因碼為節點提供特定的日誌項目。該欄位是一個 32 位元不帶正負號的數字,從最高有效位元組開始顯示。表 3 列出原因碼及其定義。
如果原因碼未列在表 3 中,則代碼是指事件日誌中的特定事件,該事件對應於相關事件日誌項目的序號。
| 原因碼(十進位) | 說明 |
|---|---|
| 40 | 資源是已停止的 FlashCopy 對映的一部分。 |
| 50 | 資源是 Metro Mirror 或 Global Mirror 關係的一部分,且次要 LUN 已離線。 |
| 51 | 資源是 Metro Mirror 或 Global Mirror 的一部分,且次要 LUN 是唯讀。 |
| 60 | 節點離線。 |
| 71 | 資源未連結到任何網域。 |
| 72 | 資源連結到已重建的網域。 |
| 73 | 執行作業的節點因故退出,但並非離線的任何路徑所造成。 |
| 80 | 等待修復完成或刪除磁區。 |
| 81 | 等待驗證完成或刪除磁區。 |
| 82 | 離線的精簡供應磁區導致資料被釘選在目錄快取中。其他精簡供應磁區無法達到足夠的效能,已離線。 |
| 85 | 由於對仲裁磁碟進行檢查點檢查作業失敗,磁區已離線。 |
| 86 | repairvdiskcopy -medium 指令因為副本不同而產生虛擬媒體錯誤。 |
| 93 | 離線的 RAID-5 或 RAID-6 陣列導致正在寫入的資料被釘選。其他陣列無法達到良好的效能,已離線。 |
| 94 | 由於對仲裁磁碟進行檢查點檢查作業失敗,屬於磁區的陣列 MDisk 已離線。 |
| 95 | MDisk 錯誤區塊傾出檔中使用此原因碼,表示資料遺失是因為必須與重建分段重新同步化同位檢查,或由於多個失敗而導致的一些其他 RAID 演算法原因。 |
| 96 | 由於內部 meta 資料表已滿,屬於磁區的 RAID-6 陣列 MDisk 已離線。 |